Copper.TaskSchedule = (function() {
    var data = [{
        content: '1Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. '
    }, {
        content: '2Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. '
    }, {
        content: '3Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. '
    }, {
        content: '4Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. '
    }, {
        content: '5Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. '
    }, {
        content: '6Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. '
    }, {
        content: '7Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. '
    }, {
        content: '8Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. '
    }, {
        content: '9Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. '
    }, {
        content: '10Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. '
    }, {
        content: '11Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. '
    }, {
        content: '12Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. '
    }, {
        content: '13Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. '
    }];
    
    var pageCount = 0;
    
    var pageSize = 5;
    
    var pageHeight = 450;
    
    var pageWidth = 310;
    
    var itemHeight = 80;
    
    var currentPage = 0;
    
    var showed = false;
    
    var el, body, footer;
    
    var date = new Date();
    
    var updateIndicator = function(){
        footer.querySelector('.copper-todo-index').innerHTML = currentPage + 1 + ' / ' + pageCount;
    };
    
    var dummy = document.createElement('LI');
    dummy.className = 'copper-insert-dummy';
    
    var currentDummyPos;
    
    return {
        init: function(ct){
            el = ct;
            
            pageCount = Math.ceil(data.length / pageSize);
            
            for(var i = 0; i < pageCount; ++i){
                var page = Copper.TaskSchedule.createPage();
                for(var j = i * pageSize; j < (i + 1) * pageSize && j < data.length; ++j){
                    var item = document.createElement('LI');
                    item.innerHTML = data[j].content;
                    item.className = 'copper-todo-item';
                    page.querySelector('.copper-todo-body').appendChild(item);
                    page.querySelector('.copper-todo-index').innerHTML = i + 1 + ' / ' + pageCount;
                }
                el.appendChild(page);
            }
        },
        
        load: function(){
        },
        
        show: function(){ 
            el.style.display = 'block';  
        },
        
        hide: function(){ 
            el.style.display = 'none';  
        },
        
        createPage: function(){
            var page = document.createElement('DIV');
            page.innerHTML = '<div class="copper-todo-header" style="color:white;font-weight:bold;font-size:24px;">' +
                '<div style="">' + date.format('l') + '</div>' +
                '<div style="">' + date.format('M d') + '</div>' +
              '</div>' +
              '<ul class="copper-todo-body"></ul>' +
              '<div class="copper-todo-footer">' +
                '<div class="copper-todo-previous">&lt;</div>' +  
                '<div class="copper-todo-next">&gt;</div>' +
                '<div class="copper-todo-index"></div>' +
                '<div class="clear-all"></div>' +
              '</div>';
            page.className = 'copper-schedule-page';
            return page;
        },
        
        createDummyItem: function(pos){
            var page = el.childNodes[pos[0]]; 
            if(currentDummyPos){
                if(currentDummyPos[0] == pos[0] && currentDummyPos[1] == pos[1])return;
                dummy.parentNode.removeChild(dummy);
            }
            console.log(pos)
            var item = page.querySelector('.copper-todo-body').childNodes[pos[1]];  
            
            page.querySelector('.copper-todo-body').insertBefore(dummy, item);
            currentDummyPos = [];
            currentDummyPos.push(pos[0]);
            currentDummyPos.push(pos[1]);
            //page.appendChild(dummy);
        },
        
        getEventTarget: function(e){
            var x = e.clientX + window.pageXOffset;
            var y = e.clientY + window.pageYOffset;
            
            var left = el.offsetLeft;
            var right = left + pageCount * pageWidth;
            var top = el.offsetTop + 95;
            var bottom = top + pageHeight;
            if(x < left || x > right || y < top || y > bottom)return null;
            
            var col = Math.ceil((x - left) / pageWidth) - 1;
            var row = Math.ceil((y - top) / itemHeight) - 1;
            return [col, row];
        },
        
        reset: function(){
             if(dummy.parentNode){
                 dummy.parentNode.removeChild(dummy);
             }
             currentDummyPos = null;
        }
    };
})();